home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / gui / toolbox / refreshtimer.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2008-10-13  |  1.7 KB  |  61 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import wx
  5. import sys
  6.  
  7. class RefreshTimer(wx.Timer):
  8.     
  9.     def __init__(self):
  10.         wx.Timer.__init__(self)
  11.         self.registered = set()
  12.         self.inited = True
  13.  
  14.     
  15.     def Register(self, item):
  16.         self.registered.add(item)
  17.         if not self.IsRunning():
  18.             self.Start(1000)
  19.         
  20.  
  21.     
  22.     def UnRegister(self, item):
  23.         
  24.         try:
  25.             self.registered.remove(item)
  26.         except Exception:
  27.             pass
  28.  
  29.         if not len(self.registered) and self.IsRunning():
  30.             self.Stop()
  31.         
  32.  
  33.     
  34.     def Notify(self):
  35.         for item in set(self.registered):
  36.             
  37.             try:
  38.                 item.Refresh()
  39.             continue
  40.             except Exception:
  41.                 sys.stderr.write(''.join([
  42.                     'Error refreshing ',
  43.                     str(item),
  44.                     ', removing from list']))
  45.                 self.UnRegister(item)
  46.                 continue
  47.             
  48.  
  49.         
  50.  
  51.  
  52. _refresh_timer_instance = None
  53.  
  54. def refreshtimer():
  55.     global _refresh_timer_instance
  56.     if _refresh_timer_instance is None:
  57.         _refresh_timer_instance = RefreshTimer()
  58.     
  59.     return _refresh_timer_instance
  60.  
  61.